<?php

/**
 * Базовый класс компонентов - обработчиков действия удаления чего-то.
 *
 */
abstract class Backend_Component_Delete extends Kernel_Filter {

    /**
     * Адрес, по которому нужно перенаправить клиента после удаления.
     *
     * @var string
     */
    public $back;

    /**
     * Метод обработки пользовательского запроса.
     *
     */
    public function process() {
        parent::process();
        $deleted = $this->_delete();
        Application::getResponse()->message($deleted, array(get_class($this), $deleted ? 'DELETED' : 'ERROR'));
        $this->_location($this->back);
    }

    /**
     * Удаляет запись.
     *
     * @return  boolean
     */
    abstract protected function _delete();
}
